package jmine.tec.web.wicket.pages;

import java.util.List;
import java.util.Set;
import java.util.LinkedHashSet;

/**
 * Spring bean que guarda os scripts que devem ser carregados nas páginas que utilizam o Template, permitindo a personalização de quais
 * scripts serão utilizados sem a necessidade de alteração do framework.
 * 
 * @author Israel Crisanto
 */
public class TemplateConfig {

    private final Set<String> scripts;

    private final Set<String> css;

    /**
     * Arquivos carregados como forma padrão pelo {@link Template} principal
     * 
     * @param scripts lista com nome dos scripts que serão carregados
     * @param css lista com nome dos arquivos css que serão carregados
     */
    public TemplateConfig(Set<String> scripts, Set<String> css) {
        this.scripts = scripts;
        this.css = css;
    }

    /**
     * Arquivos carregados como forma padrão pelo {@link Template} principal
     * 
     * @param scripts lista com nome dos scripts que serão carregados
     * @param css lista com nome dos arquivos css que serão carregados
     */
    public TemplateConfig(List<String> scripts, List<String> css) {
        this(new LinkedHashSet<String>(scripts), new LinkedHashSet<String>(css));
    }

    /**
     * Retorna a lista de scripts utilizados no sistema de forma padrão
     * 
     * @return Lista de strings com nomes dos arquivos utilizados
     */
    public Set<String> getScripts() {
        return this.scripts;
    }

    /**
     * Retorna a lista de arquivos css utilizados no sistema de forma padrão
     * 
     * @return Lista de strings com nomes dos arquivos utili
     */
    public Set<String> getCss() {
        return this.css;
    }
}
